#include <bits/stdc++.h>
using namespace std;
int main()
{
    // dp 表示状态附加维度 奇偶性处理方式
    int n; cin >> n;
    vector<int> vec(n);
    for (int i = 0; i < n; i++) cin >> vec[i];
    vector<vector<int>> dp(n, vector<int>(2, 0));
    int ans = 0;
    dp[0][1] = vec[0];
    dp[0][0] = INT_MIN + 10;
    int max0 = 0, max1 = vec[1];
    for (int i = 1; i < n; i++)
    {
        // for (int j = 0; j < i; i++)
        // {
        //     dp[i][0] = max(dp[i][0], dp[j][1] - vec[i]);
        //     dp[i][1] = max(dp[i][1], dp[j][0] + vec[i]);
        // }
        // 变量优化：max0,max1
        dp[i][0] = max1 - vec[i];
        dp[i][1] = max0 + vec[i];
        max0 = max(max0, dp[i][0]);
        max1 = max(max1, dp[i][1]);
        ans = max(dp[i][0], max(ans, dp[i][1]));
    }
    cout << ans;
    return 0;
}